home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / G-Games / (c)gf.d64 / othello.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  6KB  |  176 lines

  1. 1 PRINT"[147][142][144]    [206][183][205]  [183][183][207][183] [170]  [180] [170][183][183]  [180]   [180]   [206][183][205]":POKE53280,12:POKE53281,12
  2. 2 PRINT"    [180] [170]    [180]  [167][192][192][180] [167][192]   [180]   [180]   [180] [170]
  3. 3 [153]"    (null)AND(null)    SGN  THEN  SGN THENANDAND  (null)AND  (null)AND  (null)AND(null)
  4. 4 PRINT,"[157]COMMODORE 64 VERSION":PRINTTAB(18)"BY
  5. 5 [153],"STOP  STEVEN DARNOLD
  6. 6 PRINT,"  P.O. BOX 201
  7. 7 [153],"  ALEXANDRA, NEW ZEALAND
  8. 8 FORI=1TO39:E$=E$+" ":NEXT:FORJ=1TO39:E$=E$+"[157]":NEXT:N$="12345678"
  9. 9 D$="":FORI=1TO20:D$=D$+"":NEXT:DIMA(9,9),I4(7),J4(7):F2=3:B=-1:W=1:M$="[215][214][209]"
  10. 10 M$=" [144][209][152] [209]":FORK=0TO7:READI4(K),J4(K):NEXT
  11. 11 GOSUB251:GOSUB231:P=6:N$(B+1)="BLACK":N$(W+1)="WHITE
  12. 13 [153]"LOADSTOPWANT TO PLAY AGAINST THE COMPUTER? ";:[141]131
  13. 15 [139]X$[178]"N"[167][153]"NO":[137]37
  14. 17 [139]X$[179][177]"Y"[167][141]131:[137]15
  15. 19 [153]"YES":F2[178]3:[153]"STOPSHOULD I PLAY MY BEST? ";:[141]131
  16. 21 [139]X$[178]"N"[167][153]"NO":[137]27
  17. 23 [139]X$[179][177]"Y"[167][141]131:[137]21
  18. 25 [153]"YES":S2[178]2:S4[178]1:S5[178][171]1.5
  19. 27 [153]"STOPBLACK ALWAYS GOES FIRST."
  20. 28 [153]"DO YOU WANT BLACK OR WHITE? STOP";:[141]131
  21. 29 [139]X$[178]"B"[167][153]N$(0):N$(2)[178]"COMPUTER":[137]35
  22. 31 [139]X$[179][177]"W"[167][141]131:[137]29
  23. 33 [153]N$(2):N$(0)[178]"COMPUTER":F2[178]2
  24. 35 [141]329
  25. 37 [153]"LOAD";:[141]107:[139]F2[178]2[167][153]"OK, I AM THINKING.STOP"
  26. 39 T1[178]B:T2[178]W:[145]F2[141]151,181,151
  27. 40 [141]225:[139]Z[178]1[167]43
  28. 41 BC[178]BC[170]S1[170]1:WC[178]WC[171]S1:N1[178]N1[170]1:[141]107
  29. 43 [139]WC[178]0[176]N1[178]64[176]Z[179]0[167]53
  30. 45 T1[178]W:T2[178]B:[145] F2[141]151,151,181:[141]225:[139]Z[178]1[167]49
  31. 47 WC[178]WC[170]S1[170]1:BC[178]BC[171]S1:N1[178]N1[170]1:[141]107
  32. 49 [139]BC[178]0[176]N1[178]64[176]Z[179]0[167]53
  33. 51 [137]39
  34. 53 SN[178]SM
  35. 55 [153]D$;E$:[153]E$:[153]E$:[153]D$;E$"STOPBLACK HAS"BC"     WHITE HAS"WC""
  36. 57 [139]BC[178]WC[167][153]"A TIE !!":[137]77
  37. 59 [139]BC[177]WC[167][153]"BLACK";:[137]63
  38. 61 [153]"WHITE";
  39. 63 [153]" WINS.":CC[178]BC[171]WC:[139]CC[179]0[167]CC[178][171]CC
  40. 65 CC[178](64[172]CC)[173]N1:[153]"STOPTHAT WAS A ";
  41. 67 [139]CC[179]11[167][153]"CLOSE GAME.":[137]77
  42. 69 [139]CC[179]25[167][153]"GOOD GAME.":[137]77
  43. 71 [139]CC[179]39[167][153]"BIG WIN.":[137]77
  44. 73 [139]CC[179]53[167][153]"WALKOVER.":[137]77
  45. 75 [153]"PERFECT SCORE."
  46. 77 [153]"WANT TO SEE REPLAY OF THE GAME? ";:[141]131:[139]X$[178]"N"[167][153]"STOPNO";:[128]
  47. 79 [153]"STOPYES";:[141]233:[141]237:[141]55
  48. 81 [153]D$""E$"DO YOU WANT TO START THE GAME ? ";
  49. 83 [141]131:[139]X$[178]"Y"[167][153]"YES";:[141]329:[153]"LOAD";:[137]11
  50. 85 [153]"NO";:[128]
  51. 87 F1[178]0:[129]I1[178][171]1[164]1:[129]J1[178][171]1[164]1:[139]A(I[170]I1,J[170]J1)[178]T2[167]91
  52. 89 [130]J1,I1:[142]
  53. 91 F1[178]1:[142]
  54. 93 S1[178]0:[129]K[178]0[164]7:I5[178]I4(K):J5[178]J4(K):I6[178]I[170]I5:J6[178]J[170]J5:S3[178]0:[139]A(I6,J6)[179][177]T2[167]105
  55. 95 S3[178]S3[170]1:I6[178]I6[170]I5:J6[178]J6[170]J5:[139]A(I6,J6)[178]T1[167]101
  56. 97 [139]A(I6,J6)[178]0 [167]105
  57. 99 [137]95
  58. 101 S1[178]S1[170]S3:[139]U[179][177]1[167]105
  59. 103 I6[178]I:J6[178]J:[129]K1[178]0[164]S3:A(I6,J6)[178]T1:I6[178]I6[170]I5:J6[178]J6[170]J5:[130]K1
  60. 105 [130]K:[142]
  61. 107 [153]"
  62. 108 X$="  [171][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][179]"
  63. 109 PRINT"    A   B   C   D   E   F   G   H"
  64. 111 PRINT"  [176][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][174]
  65. 112 [129]I[178]1[164]8:[153][202](N$,I,1)" (null) ";
  66. 113 [129]J[178]1[164]8:[153][202](M$,(A(I,J)[170]2)[172]2,2)" (null) ";:[130]J:[153]:[139]I[179][177]8[167][153]X$
  67. 115 [130]I:[153]"  /TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTAN>TANTANTANEXPSTOP":[142]
  68. 117 I[178][171]1:J[178]I:[129]K[178]1[164]2:[141]131:G[178][198](X$):[139]47[179]G[175]G[179]58[167]I[178]G[171]48:[137]123
  69. 119 [139]64[179]G[175]G[179]74[167]J[178]G[171]64:[137]123
  70. 121 [130]:[142]
  71. 123 [153]""X$"STOP ";:[130]:[142]
  72. 125 [153][200](D$,2[172](I[171]1)[170]4);[166]4[172](J[171]1)[170]4);:X$[178][202](M$,(T1[170]2)[172]2,2):[129]K[178]1[164]P
  73. 127 [153]"STOP CMD";:[129]L[178]1[164]200:[130]:[153]X$"CMD";:[129]L[178]1[164]200:[130]:[130]:[142]
  74. 129 [153]X$"CMD";:[129]L[178]1[164]200:[130]:[130]:[142]             [179]
  75. 131 [129]L[178]1[164]10:[161]A$:[130]
  76. 133 L[178]0:[153]" CMDWAIT";
  77. 135 L[178]L[170]1:[161]X$:[139]X$[179][177]""[167][142]
  78. 137 [139]L[179]20[167]135
  79. 139 [153]" CMD";
  80. 141 L[178]L[170]1:[161]X$:[139]X$[179][177]""[167][142]
  81. 143 [139]L[179]40[167]141
  82. 145 [137]133
  83. 147 [153]D$""E$"BAD MOVESTOP INPUT ROW 0-8STOP AND COL A-HSTOP":[153]E$;
  84. 149 [141]251:[139]F1[177]1[167][141]107
  85. 151 [143] MOVE INPUT SUBROUTINE
  86. 153 [153]D$;E$"INPUT "N$(T1[170]1)"'S MOVE >>>>>>>> ";:[141]117
  87. 155 [139]I[179]0[176]J[179]0[176]I[177]8[176]J[177]8[167]147
  88. 157 [139]I[179][177]0[167]167
  89. 159 G2[178]S2:G4[178]S4:G5[178]S5:S2[178]0:S4[178]0:S5[178]0:[141]197:S2[178]G2:S4[178]G4:S5[178]G5:[139]B1[179]0[167]163
  90. 161 [153]D$""E$"NO FORFEIT ALLOWED. "N$(T1[170]1)"WAIT HAS A MOVE.":[137]177
  91. 163 [139]Z[178]1[167]Z[178][171]Z:[142]
  92. 165 Z[178]1:[142]
  93. 167 [139] A(I,J)[178]0[167]171
  94. 169 [153]D$""E$"SORRY...SQUARE OCCUPIED BY "N$(A(I,J)[170]1):[137]177
  95. 171 [141]87:[139]F1[178]1[167]175
  96. 173 [153]D$""E$"SORRY...NOT NEXT TO "N$(T2[170]1):[137]177
  97. 175 U[178][171]1:[141]93:[139]S1[177]0[167]179
  98. 176 [153]D$""E$"SORRY...DOES NOT CONTAIN "N$(T2[170]1)
  99. 177 [153]E$:[137]153
  100. 179 [137]193
  101. 181 [141]197:[139]B1[177]0[167]191
  102. 183 [139]S5[178]0[167]187
  103. 185 S5[178]0:[137]181
  104. 187 [153]D$""E$N$(T1[170]1)" FORFEITS MOVE":[139]Z[178]1[167]Z[178][171]Z:[142]
  105. 189 Z[178]1:[142]
  106. 191 I[178]I3:J[178]J3
  107. 193 [129]L[178]1[164]32:[153][199](20);:[130]
  108. 194 [153]D$""E$;N$(T1[170]1)" MOVES TO "[199](I[170]48)" "[199](J[170]64):[141]125:Z[178]0:U[178]1
  109. 195 [141]93:[153]D$"STOP"E$;N$(T1[170]1)" TAKES"S1"OF "N$(T2[170]1)"'S PIECES":[142]
  110. 197 B1[178][171]1:I3[178]0:J3[178]0:[129]I[178]1[164]8:[129]J[178]1[164]8:[139]A(I,J)[179][177]0[167]223
  111. 199 [141]87:[139]F1[178]0[167]223
  112. 201 U[178][171]1:[141]93:[139]S1[178]0[167]223
  113. 203 [139](I[178]1)[176](I[178]8)[167]S1[178]S1[170]S2
  114. 205 [139](J[178]1)[176](J[178]8)[167]S1[178]S1[170]S2
  115. 207 [139](I[178]2)[176](I[178]7)[167]S1[178]S1[170]S5
  116. 209 [139](J[178]2)[176](J[178]7)[167]S1[178]S1[170]S5
  117. 211 [139](I[178]3)[176](I[178]6)[167]S1[178]S1[170]S4
  118. 213 [139](J[178]3)[176](J[178]6)[167]S1[178]S1[170]S4
  119. 215 [139]S1[179]B1[167]223
  120. 217 [139]S1[177]B1[167]221
  121. 219 [139][187](1)[177]0.5[167]223
  122. 221 B1[178]S1:I3[178]I:J3[178]J
  123. 223 [130]J,I:[142]
  124. 225 L[178]((T1[170]1)[172]64)[175]128:[139]Z[179][177]0[167]L[178]L[176]64:[137]229
  125. 227 L[178]L[176]((((I[171]1)[172]8)[175]56)[176](J[171]1[175]7))
  126. 229 [151]SM,L:SM[178]SM[170]1:[142]
  127. 231 BC[178]2:WC[178]BC:N1[178]4
  128. 233 [129]I[178]0[164]9:[129]J[178]0[164]9:A(I,J)[178]0:[130]J,I:A(4,4)[178]W:A(5,5)[178]W:A(4,5)[178]B:A(5,4)[178]B
  129. 235 Z[178]0:F2[178]1:S2[178]0:S4[178]0:S5[178]0:SM[178]826:[142]
  130. 237 [153]"LOADSTOP   REPLAY"[166]21)"REPLAY":P[178]3:[129]D[178]826[164]SN[171]1:[141]107:L[178][194](D)
  131. 239 I[178]1[170](L[175]56)[173]8:J[178]1[170](L[175]7):T1[178]B:T2[178]W:[139]L[175]128[167]T1[178]W:T2[178]B
  132. 241 [139](L[175]64)[178]0[167]245
  133. 243 [153]D$E$:[153]E$:[153]E$:[153]D$""N$(T1[170]1)"WAIT FORFEITS A MOVE":[129]L[178]1[164]2000:[130]:[137]247
  134. 245 [141]193
  135. 247 [130]
  136. 249 [137]107
  137. 251 F1[178]0:[153]"DO YOU WANT INSTRUCTIONS? ";:[141]131
  138. 253 [139]X$[178]"N"[167][153]"STOPNO";:[142]
  139. 255 [139]X$[179][177]"Y"[167][141]131:[137]253
  140. 257 [153]"STOPYES";:[129]F1[178]1[164]1000:[130]
  141. 259 [153]"LOADOTHELLOSTOP IS PLAYED ON AN 8 X 8 GRID WITH
  142. 261 PRINT"ROWS 1[144] TO 8[144] AND COLUMNS A[144] TO H[144].
  143. 263 [153]"THE OBJECT OF THE GAME IS TO CAPTURE AS"
  144. 265 [153]"MANY OF THE OPPONENT'S PIECES AS"
  145. 267 [153]"POSSIBLE.  TO CAPTURE PIECES, PLACE YOUR
  146. 269 PRINT"PIECE SO THAT A HORIZONTAL, VERTICAL
  147. 271 [153]"OR DIAGONAL LINE OF YOUR OPPONENT'S
  148. 273 PRINT"PIECES IS CONTAINED BY YOUR'S.
  149. 277 [153]"   TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN"
  150. 279 [153]"      (null) STOP(null) (null) STOP(null) (null) STOP(null) (null) STOP(null) (null) (null)"
  151. 281 [153]"   TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN(null)TANTANTAN"
  152. 282 [153]"PRESS SHIFTWAITONCMDCMDCMDCMDCMDTOTOTOTOTO TO CONTINUE.ONON":[146]653,1
  153. 283 [153]"                                        ";
  154. 284 [153]"STOPWHITE CONTAINS BLACK AND CAPTURES FOUR
  155. 285 PRINT"OF BLACK'S PIECES."
  156. 287 PRINT"PRESS SHIFT[146][145][157][157][157][157][157][164][164][164][164][164] TO CONTINUE.[145]"
  157. 289 PRINT"[145][145][145][145][145][145]";
  158. 291 I=1:WAIT653,1,1
  159. 293 PRINT"[209][157]";:FORL=1TO30:IFPEEK(653)=1THENI=0
  160. 295 NEXT:PRINT" [157]";:FORL=1TO30:IFPEEK(653)=1THENI=0
  161. 297 NEXT:IFITHEN293
  162. 299 PRINT"[209] [221][160][209] [221] [209] [221] [209] [221] [209]"
  163. 300 WAIT653,1,1:WAIT653,1
  164. 301 PRINT"[147][144]MAKE YOUR MOVE BY ENTERING A NUMBER 1-8
  165. 303 [153]"STOPFOR THE ROW AND A LETTER A-HSTOP FOR THE    COLUMN.
  166. 307 PRINT"YOU MUST CAPTURE AT LEAST ONE PIECE PER
  167. 311 [153]"TURN.  IF THIS IS NOT POSSIBLE, YOU
  168. 313 PRINT"FORFEIT YOUR TURN (ENTER 0A[144] FOR YOUR
  169. 315 [153]"MOVE).
  170. 317 PRINT"PRESS SHIFT[146][145][157][157][157][157][157][164][164][164][164][164] TO CONTINUE.[145]"
  171. 321 WAIT653,1,1:WAIT653,1
  172. 323 PRINT"[147]";:RETURN
  173. 325 RETURN
  174. 327 DATA 0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1
  175. 329 FORL=1TO1000:NEXT:RETURN
  176.